﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.Admin;
using Negocio.Auxiliar;

namespace qbaproject.Admin.Incluir
{
    public partial class incluirAdmin : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                carregarDdl();
            }
        }

        public void carregarDdl()
        {
            var obNStatus = new NStatus();
            var obNTipoUsuario = new NTipoUsuario();

            //Carregar status
            ddlStatus.DataSource = obNStatus.pegarTodosStatus();
            ddlStatus.DataBind();
            ddlStatus.Items.Insert(0, new ListItem("Selecionar o Status", "0"));

            //Carregar tipo usuario
            ddlTipoUsuario.DataSource = obNTipoUsuario.pegarTodosTiposUsuarios();
            ddlTipoUsuario.DataBind();
            ddlTipoUsuario.Items.Insert(0, new ListItem("Selecionar o Tipo Usuário", "0"));

        }

        protected void lnk_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Admin/Consultar/consultarAdmin.aspx");
        }

        protected void lkbSalvar_Click(object sender, EventArgs e)
        {
            if(verificarForm())
            {
                var obNAdmin = new NAdministrador();
                obNAdmin.nmUsuarioAdministracao = txtNmAdministrador.Text;
                obNAdmin.teEmail = txtTeEmail.Text;
                obNAdmin.teSenha = txtTeSenha.Text;
                obNAdmin.csStatus = Convert.ToInt32(ddlStatus.SelectedValue);
                obNAdmin.csTipoUsuario = Convert.ToInt32(ddlTipoUsuario.SelectedValue);
                if(obNAdmin.Salvar())
                {
                    divMsnIncluirSucesso.Visible = true;
                    divMsnIncluirAtencao.Visible = false;
                }else
                {
                    divMsnIncluirSucesso.Visible = false;
                    divMsnIncluirAtencao.Visible = true;
                }
            }
        }

        public bool verificarForm()
        {
            var boForm = true;

            if(string.IsNullOrEmpty(txtNmAdministrador.Text))
            {
                boForm = false;
                lblNmAdminObrigatorio.Text = "Nome do administrador é obrigatório!";
            }else
            {
                lblNmAdminObrigatorio.Text = "";
            }

            if(string.IsNullOrEmpty(txtTeEmail.Text))
            {
                boForm = false;
                lblTeEmailObrigatorio.Text = "Email é obrigatório!";
            }else
            {
                lblTeEmailObrigatorio.Text = "";
            }
            if(string.IsNullOrEmpty(txtTeSenha.Text))
            {
                boForm = false;
                lblTeSenhaObrigatorio.Text = "Senha é obrigatório!";
            }
            if(txtTeSenha.Text != txtTeReSenha.Text)
            {
                boForm = false;
                lblTeReSenhaObrigatorio.Text = "O campo [Confirmar senha] deve ter o mesmo valor do campo [Senha]!";
            }else
            {
                lblTeReSenhaObrigatorio.Text = "";
            }

            if (ddlStatus.SelectedValue == "0")
            {
                boForm = false;
                lblDdlStatusObrigatorio.Text = "Status é obrigatório!";
            }
            else
            {
                lblDdlStatusObrigatorio.Text = "";
            }

            if (ddlTipoUsuario.SelectedValue == "0")
            {
                boForm = false;
                lblDdlTipoUsuarioObrigatorio.Text = "Tipo de Usuário é obrigatório!";
            }
            else
            {
                lblDdlTipoUsuarioObrigatorio.Text = "";
            }

            return boForm;
        }
    }
}